package com.itheima.reggie.common;

import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

import java.sql.SQLException;
import java.sql.SQLNonTransientConnectionException;
import java.sql.SQLNonTransientException;

/**
 * 全局异常处理器
 */
@RestControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler()
    public R CustomerException(CustomerException customerException){
        return R.error(customerException.getMessage());
    }

    //一个方法处理一类异常
    @ExceptionHandler(SQLException.class)//该方法表示异常处理的方法

    public R<String> handler1(SQLException exception){
        //控制台打印错误信息
       // exception.printStackTrace();


        if (exception.getMessage().startsWith("Duplicate entry ")){
                                //.startsWith以什么开头
            return R.error(exception.getMessage().split(" ")[2]+"账号已存在");//.getMessage获取异常信息
        }
        if (exception.getMessage().contains("phone")){
                                //.contains是否包含
            return R.error(exception.getMessage().split(" ")[7]+"手机号不符");
        }
         if (exception.getMessage().contains("id_number")){
            return R.error(exception.getMessage().split(" ")[7]+"身份证不符");
        }


        return R.error("未知异常");


    }
}
